package com.xian.d8_api_object;

/**
 *1. Object的toString方法的作用是什么?
 * 默认是打印当前对象的地址。
 * 让子类重写，以便返回子类对象的内容。
 *
 * 问题引出
 * ·开发中直接输出对象，默认输出对象的地址其实是毫无意义的。
 * 开发中输出对象变量，更多的时候是希望看到对象的内容数据而不是对象的地址信息。
 *
 * toString存在的意义
 * 父类toString()方法存在的意义就是为了被子类重写，以便返回对象的内容信息，而不是地址信息!!
 *
 *
 * 目标:掌握object类中toString方法的使用。
 */
public class Test1 {
    public static void main(String[] args) {
        Student s = new Student("贤",'男',18);

        /**
         String res = s.toString();
         System.out.println(res);  //地址:com.xian.d8_api_object.Student@1b6d3586

         System.out.println(s.toString()); //地址:com.xian.d8_api_object.Student@1b6d3586

         //直接输出对象变量，默认可以省略toString调用不写的
         System.out.println(s); //地址:com.xian.d8_api_object.Student@1b6d3586

         */

        //子类重写了--输出的就是内容
        String res = s.toString();
        System.out.println(res);  //内容：Student{name='贤', sex=男, age=18}

        System.out.println(s.toString()); //Student{name='贤', sex=男, age=18}

        //直接输出对象变量，默认可以省略toString调用不写的
        System.out.println(s); //Student{name='贤', sex=男, age=18}



    }
}
